package com.qixiaobao.system.mapper;

import com.qixiaobao.system.domain.MessageUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description 站内信与用户中间表  数据层
 * @Author yangxm
 * @Date 2025/7/2 11:00
 */
@Mapper
public interface MessageUserMapper {


    /**
     * 保存 站内信与用户中间表信息
     *
     * @param messageUser 站内信与用户中间表信息
     * @return 结果
     */
    int insertMessageUser(MessageUser messageUser);

    /**
     * 根据id和用户id查询
     *
     * @param id 站内信与用户中间表id
     * @param userId 用户id
     * @return 站内信与用户中间表信息
     */
    MessageUser selectMessageUserByIdAndUserId(@Param("id") Long id, @Param("userId") Long userId);

    /**
     * 修改 站内信与用户中间表信息
     *
     * @param messageUser 站内信与用户中间表信息
     * @return 结果
     */
    int updateMessageUser(MessageUser messageUser);

    /**
     * 根据id列表和用户id查询
     *
     * @param messageUserIdList 站内信与用户中间表id列表
     * @param userId 用户id
     * @return 站内信与用户中间表信息列表
     */
    List<MessageUser> selectMessageUserListByIdListAndUserId(@Param("messageUserIdList") List<Long> messageUserIdList, @Param("userId") Long userId);

    /**
     * 根据client和用户id查询
     *
     * @param client 站内信与用户中间表client
     * @param userId 用户id
     * @return 站内信与用户中间表信息列表
     */
    long selectCountByClientAndUserId(@Param("client") String client, @Param("userId") Long userId);
}
